package com.me.seckill.service;

import com.me.seckill.pojo.Stock;

/**
 * Function:
 *
 * @author crossoverJie
 *         Date: 30/04/2018 22:38
 * @since JDK 1.8
 */
public interface StockService {

    /**
     * 清除指定 ID 的商品秒杀信息
     */
    int delStock(Stock stock);

    /**
     * 初始化秒杀商品信息 和 Redis库存
     * @return 添加的秒杀商品条数
     */
    int initStock(Stock stock);

    /**
     * 设置 Redis库存
     * @param id 商品id
     * @return 剩余库存
     */
    int setRedisStock(int id) ;

    /**
     * 根据库存 ID 查询库存信息
     * @param id
     * @return
     */
    Stock getStockById(int id) ;

    /**
     * 更新库存信息
     * @param stock
     * return
     */
    int updateStockById(Stock stock);

    /**
     * 乐观锁更新库存
     * @param stock
     * @return
     */
    int updateStockByOptimistic(Stock stock);


}
